package com.muyu.danmo.service;

import com.muyu.common.core.domain.Result;
import com.muyu.danmo.domain.DanmoCommunity;

import java.util.List;

/**
 * 社区信息Service
 * @author : kunzong
 * @date : 2024-11-19
 */
public interface IDanmoCommunityService {

    /**
     * 查询社区表列表
     * @param danmoCommunity 社区表实体
     * @return 社区表列表
     */
    List<DanmoCommunity> selectDanmoCommunityList(DanmoCommunity danmoCommunity);

    /**
     * 根据ID查询社区表详细信息
     * @param id 社区表ID
     * @return 社区表实体
     */
    DanmoCommunity selectDanmoCommunityById(Long id);

    /**
     * 新增社区表
     * @param danmoCommunity 社区表实体
     * @return 结果
     */
    Result insertDanmoCommunity(DanmoCommunity danmoCommunity);

    /**
     * 修改社区表
     * @param danmoCommunity 社区表实体
     * @return 结果
     */
    Result updateDanmoCommunity(DanmoCommunity danmoCommunity);

    /**
     * 删除社区表
     * @param ids 社区表ID数组
     * @return 结果
     */
    void deleteDanmoCommunityByIds(Long[] ids);

    /**
     * 查询用户关注列表
     * @param danmoCommunity 社区表实体
     * @return 社区表列表
     */
    List<DanmoCommunity> selectDanmoCommunityAttentionList(DanmoCommunity danmoCommunity);

    List<DanmoCommunity> selectDanmoCommunityPopularList(DanmoCommunity danmoCommunity);

    /**
     * 隐藏帖子
     * @param ids
     * @return
     */
    Result hidePostsDanmoCommunityByIds(Long[] ids);

    /**
     * 取消隐藏帖子
     * @param ids
     * @return
     */
    Result cancelHidePostsDanmoCommunityByIds(Long[] ids);

    /**
     * 查询用户收藏列表
     * @param danmoCommunity 社区表实体
     * @return 社区表列表
     */
    List<DanmoCommunity> selectOtherCollectionDanmoCommunityList(DanmoCommunity danmoCommunity);

    List<DanmoCommunity> selectDanmoCommunityMyCommunityList(DanmoCommunity danmoCommunity);

    List<DanmoCommunity> selectDanmoCommunityLists(DanmoCommunity danmoCommunity);

}